Con este método creamos una cita en el CRM.
Para este método debemos agregar un token en Headers de tipo Authorization con el token necesario.
{success} POST: /api/public/appointments
use GuzzleHttp\Client;
$client = new Client();
$res = $client->request("POST", "{$endpoint}/api/public/appointments", [
"form_params" => [
{
"type": 14, //Tipo de la cita
"profile": {
"code": 4 // Sino se agrega profile->code se toma el usuario de la sesión
},
"invitedProfiles": [], // [2,3]
"startDate": "2024-08-15",
"startHour": "06:00",
"endHour": "13:00",
"comment": "Cita para enseñar apto",
"contact": {
"code": 5
},
"properties": [
122 //codpro
],
"address": "Carrera 59 B # 81 -30"
}
]
]);
$appointment = json_decode($res->getBody(), true);
return $appointment;
{
"code": 200,
"message": "Cita guardada correctamente",
"data": {
"id": 249,
"code": 212,
"reschedule_code": null,
"reschedule_id": null,
"address": "Carrera 59 B # 81 -30",
"longitude": null,
"latitude": null,
"title": "06:00 - AP - Toma de fotos - Carrera 59 B # 81 -30",
"comment": "Cita para enseñar apto",
"date": "2024-08-15",
"init_time": "06:00:00",
"end_time": "13:00:00",
"verified_date": null,
"verify_profile": null,
"contact": null,
"properties": [
{
"id": 253,
"biz": null,
"group": null,
"property": "122",
}
],
"profiles": [
{
"id": 441,
"role": {
"id": 1,
"name": "Anfitrión"
},
"profile": {
"code": 6,
"full_name": "Agente prueba cita",
"picture_url": "https://foto-agente.la",
"email": "[email protected]",
"color": "/docs/1.0/appointments/create#3FFF33",
"phones": [
{
"phone": "3115893698",
"phone_type_id": 2,
"phone_type": "Celular",
"phone_indicative_id": 1,
"phone_indicative": "+57"
}
]
}
}
],
"results": {
"id": 202,
"latitude": null,
"longitude": null,
"comment": "",
"result": {
"id": 1,
"name": "Pendiente",
"status": {
"id": 1,
"name": "Pendiente"
},
"appointment_type": null
}
},
"type": {
"id": 35,
"name": "Toma de fotos",
},
"status": {
"id": 1,
"name": "Pendiente"
}
}
}
{
"code": 401,
"message": "Existe una cita para este perfil en este rango de tiempo (nota: también podría ser invitado de otra cita).",
"errors": {
"appointment": [
"Existe una cita para este perfil en este rango de tiempo (nota: también podría ser invitado de otra cita)."
]
}
}
{
"code": 401,
"message": "Falta agregar inmuebles, en caso de no ver el campo es debido a que el contacto no tiene vinculados inmuebles.",
"errors": {
"appointment": [
"Falta agregar inmuebles, en caso de no ver el campo es debido a que el contacto no tiene vinculados inmuebles."
]
}
}
{
"code": 401,
"message": "La hora de finalización debe ser mayor a la de inicio",
"errors": {
"appointment": [
"La hora de finalización debe ser mayor a la de inicio"
]
}
}
{
"code": 401,
"message": "Este perfil está bloqueado para agregar citas",
"errors": {
"appointment": [
"Este perfil está bloqueado para agregar citas"
]
}
}
{
"code": 401,
"message": "No tiene permisos para crear citas a diferentes perfiles",
"errors": {
"appointment": [
"No tiene permisos para crear citas a diferentes perfiles"
]
}
}